package whut.edu.lambda;
/*
lambda表达式
1.作用：简化匿名内部类的代码写法,alt+回车可以快速换成lambda表达式
2.格式：()->{}
        ():匿名内部类被重写方法的形参列表
        {}：被重写方法的方法体代码
3.lambda表达式仅适用于函数式编程接口：有且仅有一个抽象方法的接口
    @FunctionalInterface这个注解表面是函数式编程接口
 */
public class LambdaTest01 {
    public static void main(String[] args) {
        //匿名内部类
        uesInterA(new InterA() {
            @Override
            public void show() {
                System.out.println("匿名内部类重写后的show方法");
            }
        });
        //lambda表达式
        uesInterA(()->{
            System.out.println("lambda表达式，重写show");
        });


    }
    public static void uesInterA(InterA a){
        a.show();
    }
}
@FunctionalInterface
interface InterA{
    void show();
}
